using System;
using System.Collections.Generic;
using System.Text;

namespace HappyInvaders
{
    public static class Constants
    {
        public const int ScreenWidth = 960;
        public const int ScreenHeight = 600;

        public const float WorldWidth = 320f;
        public const float WorldHeight = 200f;

        public const float PlayerWidth = 13f;
        public const float PlayerHeight = 8f;
        public const float PlayerSpeed = 60f;
        public const float PlayerStartX = WorldWidth / 2f;
        public const float PlayerMinX = 50f + PlayerWidth / 2f;
        public const float PlayerMaxX = 270f - PlayerWidth / 2f;
        public const float PlayerY = 1f + PlayerHeight / 2f;

        public const float BombWidth = 3f;
        public const float BombHeight = 5f;
        public const float BombSpeed = 150f;

        public const float BulletWidth = 1f;
        public const float BulletHeight = 5f;
        public const float BulletSpeed = 150f;

        public const float SaucerWidth = 16f;
        public const float SaucerHeight = 7f;
        public const float SaucerSpeed = 45f;
        public const float SaucerRespawn = 33f;
        public const float SaucerMinX = 32f + SaucerWidth / 2f;
        public const float SaucerMaxX = 288f - SaucerWidth / 2f;
        public const float SaucerY = 172f;
        public const int SaucerMinInvaders = 9;

        public const float ShelterWidth = 24f;
        public const float ShelterHeight = 16f;
        public const float ShelterY = 28f;

        public const float InvaderWidth = 12f;
        public const float InvaderHeight = 8f;
        public const float InvaderCycle = 0.0125f;

        public const float ZapWidth = 12f;
        public const float ZapHeight = 8f;
        public const float ZapLifetime = 0.1875f;

        public const float ExplosionLifetime = 1.625f;

        public const string AudioSettings = @"Content\Audio\HappyInvaders.xgs";
        public const string SoundBank = @"Content\Audio\HappyInvaders.xsb";
        public const string WaveBank = @"Content\Audio\HappyInvaders.xwb";

        public const string BombTexture1 = @"Textures\bomb1";
        public const string BombTexture2 = @"Textures\bomb2";
        public const string BulletTexture = @"Textures\bullet";
        public const string ExplosionTexture1 = @"Textures\explosion1";
        public const string ExplosionTexture2 = @"Textures\explosion2";
        public const string InvaderAlphaTexture1 = @"Textures\invader1";
        public const string InvaderAlphaTexture2 = @"Textures\invader2";
        public const string InvaderBetaTexture1 = @"Textures\invader3";
        public const string InvaderBetaTexture2 = @"Textures\invader4";
        public const string InvaderGammaTexture1 = @"Textures\invader5";
        public const string InvaderGammaTexture2 = @"Textures\invader6";
        public const string PlayerTexture = @"Textures\player";
        public const string SaucerTexture = @"Textures\saucer";
        public const string ZapTexture = @"Textures\zap";

        public const string BulletCue = "bullet";
        public const string ExplosionCue = "explosion";
        public const string SaucerCue = "saucer";
        public const string ZapCue = "zap";

        // Collision filter groups
        public const int PlayerGroup = 1;
        public const int BulletGroup = 2;
        public const int BombGroup = 4;
        public const int ShelterGroup = 8;
        public const int InvaderGroup = 16;
        public const int SaucerGroup = 32;
    }
}
